Prior art data transfer systems, such as the one described in U.S. Pat. No. Re. 29,246 are limited to predetermined data transfer rates by high output impedance of the data drivers or have high risk of hardware failure owing to conflicting priorities on common signal bus lines. Conflicting priorities typically arise from the malfunction of selection S/W or H/W. Data transfer rates are typically determined by signal transmission time, response and processing times of data receivers to applied signals, time for each data receiver to indicate to a data sending unit, or driver, that it has received data and that it is ready to receive new data after it processes that data previously received.
Data drivers most commonly used to drive data and valid data indicator (DAV) lines typically contain either passive or active "pullup" circuitry. Referring to FIG. 1, each of a plurality of data drivers include passive pullup circuitry comprising resistor 11 through which current is controlled by a single transistor such as transistor 10 connected to bus line 5. Resistors such as resistor 11 are coupled to each of the lines somewhere in the system to maintain them at a known voltage, V.sub.high, when no data driver is operating, i.e. transistor 10 cutoff. Thus, the line has been "pulled up" to V.sub.high by resistor 11 when transistor 10 in all devices is inactive.
Normally, device selection circuitry will guarantee that only one data driver is active at a time and, in a ll inactive drivers, transistor 10 is then inactive. If, however, a programming or other error or failure in selection causes more than one passive pullup driver to operate at the same time, the current available to driver transistors is still limited by resistor 11 and no burnout occurs. However, the transmission time of a high voltage signal on the bus line is also limited by resistor 11. Signal transmission time is largely determined by the RC time constant introduced by bus line cable capacitance and the value of pullup resistor 11 or saturation resistance, R.sub.on, of transistor 10. Since the value of resistor 11 is usually much greater than R.sub.on of transistor 10, the speed of the low-to-high voltage transition of the bus line when transistor 10 is cutoff is much slower than the high-to-low voltage transition when transistor 10 is turned on. Thus, signal transmission time is retarded, which in turn limits system response time.
Prior art data transfer systems having three-state drivers frequently include "active" pullup circuits such as the one shown in FIG. 2. When pullup transistor 21 within an active data driver is enabled, the bus line is "pulled up" to V.sub.high, i.e. transistor 21 is saturated. In these systems, the active pullup circuit is enabled at all times when transistor 10 is turned on. The saturation resistance, R.sub.on, of transistor 21 can be made much lower than the resistance of resistor 11 since, under normal circumstances, it will never supply current to transistor 10. Therefore, much faster signal transmission time is achievable in systems using active pullup than in systems using passive pullups.
However, in the presence of error-caused priority conflicts among two or more drivers, a current path can exist between transistor 10 in one driver and transistor 21 in another. In these cases, the only limitation on the current available to the driver transistors is the series saturation resistance of the transistor. Thus, the probability of hardware failure when such conflicts arise is dramatically increased.